package com.bigcat.gulimall.demo.mongo.utils;

/**
 * @author sufer_yuan
 * @since 2021/10/26
 */
public class MongoPageUtil {

    /**
     * 获得总页数
     *
     * @param count    总记录数
     * @param pageSize 每页大小
     * @return
     */
    public static long getPageTotal(long count, long pageSize) {
        //计算页数
        return count % pageSize == 0 ? count / pageSize : count / pageSize + 1;
    }

    /**
     * 计算偏移量，也就是记录数的第几条数据
     *
     * @param count     总记录数
     * @param pageTotal 总页数
     * @param pageNum   页码
     * @param pageSize  每页记录大小
     * @return
     */
    public static long getOffset(long count, long pageTotal, long pageNum, long pageSize) {
        return pageNum <= pageTotal ? (pageNum - 1) * pageSize : count % pageSize == 0 ? count - pageSize : count - count % pageSize;
    }

}
